package com.ant.storage.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import java.time.LocalDate;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 人事管理
 * </p>
 *
 * @author hzd
 * @since 2023-03-20
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="Personnel对象", description="人事管理")
public class Personnel implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty(value = "第一职位")
    @TableField("first_position")
    private String firstPosition;

    @ApiModelProperty(value = "第二职位")
    @TableField("second_position")
    private String secondPosition;

    @ApiModelProperty(value = "期望薪资")
    private String salary;

    @ApiModelProperty(value = "到岗时间")
    @TableField("report_to_duty_time")
    private LocalDate reportToDutyTime;

    @ApiModelProperty(value = "姓名")
    private String name;

    @ApiModelProperty(value = "性别 0 女 1 男 2 未知")
    private Boolean sex;

    @ApiModelProperty(value = "民族")
    private String nation;

    @ApiModelProperty(value = "籍贯")
    @TableField("native_place")
    private String nativePlace;

    @ApiModelProperty(value = "身份证")
    @TableField("identity_card")
    private String identityCard;

    @ApiModelProperty(value = "身份证地址")
    @TableField("identity_card_path")
    private String identityCardPath;

    @ApiModelProperty(value = "出生日期")
    @TableField("date_of_birth")
    private LocalDate dateOfBirth;

    @ApiModelProperty(value = "      0未婚  1已婚 2丧偶 3离婚")
    private Integer marry;

    @ApiModelProperty(value = "现居地址")
    @TableField("in_the_address")
    private String inTheAddress;

    @ApiModelProperty(value = "经度")
    private String longitude;

    @ApiModelProperty(value = "纬度")
    private String latitude;

    @ApiModelProperty(value = "技能职称")
    @TableField("skills_title")
    private String skillsTitle;

    @ApiModelProperty(value = "外语等级")
    @TableField("foreign_language_level")
    private String foreignLanguageLevel;

    @ApiModelProperty(value = "驾 照 ")
    @TableField("drive_as")
    private String driveAs;

    @ApiModelProperty(value = "军 人 ")
    private Boolean soldier;

    @ApiModelProperty(value = "当兵年限")
    @TableField("soldier_year")
    private Integer soldierYear;

    @ApiModelProperty(value = "退伍编号")
    @TableField("retired_number")
    private String retiredNumber;

    @ApiModelProperty(value = "党 员 ")
    @TableField("party_member")
    private Boolean partyMember;

    @ApiModelProperty(value = "爱好")
    private String hobby;

    @ApiModelProperty(value = "看重公司方面")
    @TableField("focus_on_the_company")
    private String focusOnTheCompany;

    @ApiModelProperty(value = "恋爱次数")
    @TableField("love_number")
    private Integer loveNumber;

    @ApiModelProperty(value = "联系电话")
    private String telephone;

    @ApiModelProperty(value = "身高")
    private Integer height;

    @ApiModelProperty(value = "体 重")
    private Integer weight;

    @ApiModelProperty(value = "邮箱")
    private String email;

    @ApiModelProperty(value = "创建时间")
    @TableField("create_time")
    private LocalDateTime createTime;

    @ApiModelProperty(value = "招聘渠道")
    @TableField("recruitment_way")
    private String recruitmentWay;

    @ApiModelProperty(value = "城市")
    @TableField("city_id")
    private Integer cityId;

    @ApiModelProperty(value = "转正时间")
    @TableField("positive_time")
    private LocalDate positiveTime;

    @ApiModelProperty(value = "有货运资格证")
    @TableField("freight_certificate")
    private Boolean freightCertificate;

    @ApiModelProperty(value = "1 职员 0 一线")
    private Integer divisive;

    @ApiModelProperty(value = "驾照时间")
    @TableField("driving_license_time")
    private LocalDate drivingLicenseTime;

    @ApiModelProperty(value = "是否有裙带关系")
    private Boolean nepotism;

    @ApiModelProperty(value = "裙带说明")
    @TableField("nepotism_explain")
    private String nepotismExplain;

    @ApiModelProperty(value = "正式职务")
    @TableField("official_position")
    private String officialPosition;

    @ApiModelProperty(value = "职级")
    private String rank;

    @ApiModelProperty(value = "绶带颜色")
    private String ribbon;

    @ApiModelProperty(value = "状态  0初试面试 1初试通过 2初试未过 3复试未到 4复试未过 5参加试岗 6放弃试岗 7试岗未过 8其他原因 9试岗通过 10 放弃入职 11试用期 12在职 13 离职 14 黑名单")
    private Integer status;

    @ApiModelProperty(value = "是否是外派人员")
    private Boolean assignment;

    @ApiModelProperty(value = "学历类型")
    @TableField("degree_type")
    private String degreeType;

    @ApiModelProperty(value = "部门")
    @TableField("department_id")
    private Integer departmentId;

    @ApiModelProperty(value = "离职时间")
    @TableField("resignation_time")
    private LocalDate resignationTime;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "作业状态")
    @TableField("job_status")
    private Integer jobStatus;

    @ApiModelProperty(value = "合同开始时间")
    @TableField("contract_start_time")
    private String contractStartTime;

    @ApiModelProperty(value = "合同结束时间")
    @TableField("contract_end_time")
    private String contractEndTime;

    @ApiModelProperty(value = "银行名")
    @TableField("bank_name")
    private String bankName;

    @ApiModelProperty(value = "银行卡号")
    @TableField("bank_card_number")
    private String bankCardNumber;

    @ApiModelProperty(value = "分部")
    private Integer branch;

    @ApiModelProperty(value = "录入人")
    private String entering;

    @ApiModelProperty(value = "招聘人")
    private String recruitment;

    @ApiModelProperty(value = "社保开始时间")
    @TableField("social_security_start_time")
    private String socialSecurityStartTime;

    @ApiModelProperty(value = "社保结束时间")
    @TableField("social_security_end_time")
    private String socialSecurityEndTime;

    @ApiModelProperty(value = "意外险")
    @TableField("accident_insurance_time")
    private String accidentInsuranceTime;

    @ApiModelProperty(value = "是否住公司")
    @TableField("in_the_company")
    private Boolean inTheCompany;

    @ApiModelProperty(value = "公司编号")
    @TableField("contract_number")
    private String contractNumber;

    @ApiModelProperty(value = "员工编号")
    @TableField("employee_number")
    private String employeeNumber;

    @ApiModelProperty(value = "微信编号")
    @TableField("open_id")
    private String openId;

    @ApiModelProperty(value = "批注")
    private String annotation;

    @ApiModelProperty(value = "简历图片")
    private String url;

    @TableField("ding_talk")
    private String dingTalk;

    @ApiModelProperty(value = "比对照片")
    @TableField("comparison_url")
    private String comparisonUrl;

    @ApiModelProperty(value = "密码")
    private String password;

    @ApiModelProperty(value = "打卡白名单：0 否 1 是")
    @TableField("white_status")
    private Boolean whiteStatus;

    @ApiModelProperty(value = "是否异常人员")
    private Boolean abnormal;

    @ApiModelProperty(value = "入职次数")
    @TableField("entry_count")
    private Integer entryCount;

    @ApiModelProperty(value = "是否租房")
    @TableField("renting_house")
    private Boolean rentingHouse;

    @ApiModelProperty(value = "图片审核")
    @TableField("materia_status")
    private Integer materiaStatus;

    @ApiModelProperty(value = "验证")
    private Boolean verification;

    @ApiModelProperty(value = "工资表类型 0 搬运工、驾驶员 1 后勤")
    private Integer type;

    @ApiModelProperty(value = "外派城市")
    @TableField("assignment_citys")
    private String assignmentCitys;

    @ApiModelProperty(value = "外派时间")
    @TableField("assignment_time")
    private String assignmentTime;

    @ApiModelProperty(value = "支付图片")
    private String payment;

    @ApiModelProperty("企业微信")
    @TableField("we_chat")
    private String weChat;
}
